home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / art&graf.ix / art-0015 / flicker / brush.c < prev    next >
C/C++ Source or Header  |  1997-04-16  |  3KB  |  124 lines

  1.  
  2. #include "flicker.h"
  3.  
  4. extern char gemctable[];
  5. extern char *aline;    /* aline pointer ... might as well be a char I guess */
  6.  
  7. WORD default_cursor[16] = {
  8.         0x0000, 0x0000, 0x01C0, 0x0140, 0x0140, 0x0140, 0x0140, 0x3F7E,
  9.         0x2002, 0x3F7E, 0x0140, 0x0140, 0x0140, 0x0140, 0x01C0, 0x0000,
  10.         };
  11.  
  12. WORD spray1_cursor[16] = {
  13.         0x0000, 0x0000, 0x0000, 0x0080, 0x0220, 0x0888, 0x2222, 0x0888, 
  14.         0x2222, 0x0888, 0x2222, 0x0888, 0x0220, 0x0080, 0x0000, 0x0000,
  15.         };
  16.  
  17. WORD spray2_cursor[16] = {
  18.         0x0000, 0x0000, 0x0000, 0x0000, 0x02A0, 0x0000, 0x0AA8, 0x0000,
  19.         0x0AA8, 0x0000, 0x02A0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  20.         };
  21.  
  22. WORD diagonal_cursor[16] = {
  23.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0040,
  24.         0x0080, 0x0100, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  25.         };
  26.  
  27. WORD box1_cursor[16] = {
  28.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180,
  29.         0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  30.         };
  31.  
  32. WORD box2_cursor[16] = {
  33.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x03C0,
  34.         0x03C0, 0x03C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  35.         };
  36.  
  37. WORD box3_cursor[16] = {
  38.         0x0000, 0x0000, 0x0000, 0x0000, 0x0FF0, 0x0FF0, 0x0FF0, 0x0FF0,
  39.         0x0FF0, 0x0FF0, 0x0FF0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  40.         };
  41.  
  42. WORD box4_cursor[16] = {
  43.         0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  44.         0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
  45.         };
  46.  
  47. WORD circ1_cursor[16] = {
  48.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
  49.         0x01C0, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  50.         };
  51.  
  52. WORD circ2_cursor[16] = {
  53.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x03C0,
  54.         0x03C0, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  55.         };
  56.  
  57. WORD circ3_cursor[16] =  {
  58.         0x0000, 0x0000, 0x0000, 0x03C0, 0x0FF0, 0x1FF8, 0x1FF8, 0x3FFC,
  59.         0x3FFC, 0x3FFC,    0x1FF8, 0x1FF8,    0x0FF0,    0x03C0, 0x0000, 0x0000,
  60.         };
  61.  
  62. WORD vline_cursor[16] = {
  63.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0080,
  64.         0x0080, 0x0080, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  65.         };
  66.  
  67. WORD cross_c[16] = {
  68.         0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0xFFFE,
  69.         0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0000,
  70.         };
  71.  
  72. WORD poly_cursor[16] = {
  73.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07C0, 0x0820, 0x1010,
  74.         0x2008, 0x1010, 0x0820, 0x07C0, 0x0000, 0x0000, 0x0000, 0x0000,
  75.         };
  76.  
  77. WORD sharp_cursor[16] = {
  78.         0x0000, 0x0000, 0x0220, 0x0220, 0x0220, 0x0220, 0x3FFE, 0x0220,
  79.         0x0220, 0x0220, 0x3FFE, 0x0220, 0x0220, 0x0220, 0x0220, 0x0000,
  80.         };
  81.  
  82. WORD hline_cursor[16] = {
  83.         0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  84.         0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
  85.         };
  86.  
  87.  
  88. WORD brush_ix;
  89.  
  90. WORD *brushes[16] = {
  91.     default_cursor, spray1_cursor, spray2_cursor, diagonal_cursor, 
  92.     box1_cursor, box2_cursor, box3_cursor, box4_cursor,
  93.     circ1_cursor, circ2_cursor, circ3_cursor, vline_cursor,
  94.     cross_c, sharp_cursor, poly_cursor, hline_cursor,
  95.     };
  96.  
  97. static WORD cursor_color;
  98.  
  99. set_brush(ix)
  100. register WORD ix;
  101. {
  102. static last_ix;
  103.  
  104. brush_ix = ix;
  105. pick_cursor();
  106. }
  107.  
  108.  
  109. pick_cursor()
  110. {
  111. static last_ix = -1;
  112. WORD ix;
  113.  
  114. ix = brush_ix;
  115. if (!use_brush_cursor)
  116.     ix = 0;
  117. if (ix != last_ix)
  118.     {
  119.     preshift(brushes[ix]);
  120.     last_ix = ix;
  121.     }
  122. }
  123.  
  124.